package com.learn.file;

import java.io.File;
import java.io.FileFilter;

public class TestFile {

    //递归遍历文件夹所有的内容(包括子层级的文件内容)
    public static void printDir(File dir){
            if(dir.isFile() && dir.getName().endsWith(".mp4")){
                System.out.println(dir);
            }else {

                if(dir != null){
                    for (File file : dir.listFiles()) {
                        if (file.isFile()&& dir.getName().endsWith(".mp4")) {
                            System.out.println(file);
                        } else {
                            printDir(file);
                        }
                    }
                }

            }
    }

    public static void printDir1(File dir){
            if(dir.isFile() && dir.getName().endsWith(".mp4")){
                System.out.println(dir.getName());
                System.out.println(dir);
            }else {

                File[] files = dir.listFiles(new FileFilter() {
                    @Override
                    public boolean accept(File file) {
                        return file.isDirectory() || file.getName().endsWith(".mp4");
                    }
                });

                if(files != null){
                    for (File file : files) {
                        if (file.isDirectory()) {
                            printDir(file);
                        } else {
                            System.out.println(file);
                        }
                    }
                }

            }
    }

    public static void printDir2(File directory){
        // 检查路径是否为目录并且存在
        if (directory.isDirectory()) {
            File[] files = directory.listFiles((dir, name) -> name.endsWith(".mp4"));

            if (files != null) {
                for (File file : files) {
                    System.out.println(file.getName());
                }
            } else {
                System.out.println("目录下没有 mp4 文件");
            }
        } else {
            System.out.println("指定路径不是一个有效的目录");
        }
    }
    public static void main(String[] args) {
      /*  File file = new File("D:\\software\\v\\avmans.com-广西小姐姐 甜美苗条又听话 老金残暴输出狂插不止 高潮迭起精彩一战\\avmans.com-广西小姐姐 甜美苗条又听话 老金残暴输出狂插不止 高潮迭起精彩一战.mp4");
        System.out.println(file.exists());
        System.out.println(file.getAbsoluteFile());
        System.out.println(file.length());

        File file1 = new File("D:\\software\\v");
        for (String s : file1.list()) {
            System.out.println(s);
        }
        for (File listFile : file1.listFiles()) {
            System.out.println(listFile);
        }*/

        System.out.println("---------->");
//        printDir(file1);
        File file2 = new File("D:\\software\\v");
//        printDir1(file2);
        printDir(file2);
    }
}
